/**
 * 封装的自定义验证类。
 * @author xsf
 * @date 2019/11/17 0017
 * @version v1.0.0
 **/

/**
 * @param {string} path
 * @returns {Boolean}
 */
export function isExternal(path) {
    return /^(https?:|mailto:|tel:)/.test(path)
}

/**
 * 密码格式校验
 * @param {string} rule
 * @param {string} value
 * @param {function} callback
 * @returns {Boolean}
 */
export function validatePwdRule(rule, value, callback) {
    // 简单密码验证
    // const reg = "^[a-zA-Z0-9-*/+.~!@#$%^&*-_()]{6,20}$"

    //密码至少包含 数字和英文，长度6-20
    // const reg = "^(?![0-9]+$)(?![a-zA-Z]+$)[0-9A-Za-z]{6,20}$";

    // 密码包含 数字,英文,字符中的两种以上，长度6-20
    // const reg = "^(?![0-9]+$)(?![a-z]+$)(?![A-Z]+$)(?!([^(0-9a-zA-Z)])+$).{6,20}$";

    // 至少包含数字跟字母，可以有字符
    // const reg = "(?=.*([a-zA-Z].*))(?=.*[0-9].*)[a-zA-Z0-9-*/+.~!@#$%^&*()]{6,20}$";
    if (value === '') {
        callback(new Error('请输入密码！'));
    } else if (!/^[a-zA-Z0-9-*/+.~!@#$%^&*-_()]{6,20}$/.test(value)) {
        callback(new Error('密码格式不对！'));
    } else {
        callback();
    }
}
